/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.utils;

import java.io.*;
import java.util.ArrayList;

/**
 *
 * @author Aluno
 */
public class SerializableUtil {

    public static void serializaLista(ArrayList<?> lista, String arquivo) {
        FileOutputStream arq = null;
        ObjectOutputStream out = null;
        try {
            //arquivo no qual os dados vao ser gravados
            arq = new FileOutputStream(arquivo);

            //objeto que vai escrever os dados
            out = new ObjectOutputStream(arq);

            //escreve todos os dados
            out.writeObject(lista);
        } catch (IOException ex) {
            ex.printStackTrace();
        } finally {
            try {
                arq.close();
                out.close();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
    }

    public static ArrayList<?> deserializaLista(String arquivo) throws FileNotFoundException, IOException {
        FileInputStream arqLeitura = null;
        ObjectInputStream in = null;
        ArrayList<?> lista = null;
        try {
            //arquivo onde estao os dados serializados
            arqLeitura = new FileInputStream(arquivo);

            //objeto que vai ler os dados do arquivo
            in = new ObjectInputStream(arqLeitura);

            //recupera os dados
            lista = (ArrayList<?>) in.readObject();
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
        } finally {
            try {
                arqLeitura.close();
                in.close();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
        return lista;
    }
}
